Information processing systems today commonly implement a cloud computing paradigm. Cloud computing is a model for enabling on-demand network access to a shared pool of configurable computing resources (e.g., compute, storage, input/output, and network) that can be rapidly provisioned and released with minimal management effort or service provider interaction. A given cloud infrastructure upon which data and one or more software programs (e.g., applications, services) are hosted is typically referred to as a “cloud.”
Application program (“application”) deployment on such a cloud infrastructure has been substantially automated by the development and implementation of tools that employ a Platform-as-a-Service (PaaS) approach. One example of such a PaaS approach is implemented in the Cloud Foundry® product available from the Cloud Foundry Foundation, which provides application developers with the functionality of a versatile PaaS application deployment layer. One of the main benefits of the PaaS application deployment layer is that, by controlling deployment of an application to a specific platform (e.g., specific data center or cloud), the PaaS application layer abstracts the application developer away from the specific hardware architecture of the data center/cloud where the application is intended to be deployed. This increases development speed and also facilitates speed of deployment for information technology (IT) operators.
Examples of available public cloud infrastructures upon which applications associated with an enterprise can be deployed through a PaaS product such as CloudFoundry® include, but are not limited to, Amazon Web Services® (AWS), Google Compute Engine® (GCE), and Windows Azure® Services platforms.